#ifndef PARAFLUIDMAINWINDOW_H
#define PARAFLUIDMAINWINDOW_H

#include "ui_parafluidmainwindow.h"
#include "parafluidsimulationsettingswidget.h"
#include "parafluidsimulationwidget.h"

#include <QMainWindow>

namespace ParaFluid
{
	
	/**
	* Main Window
	*/
	class MainWindow
		: public QMainWindow
		, private Ui::ParaFluidMainWindow
	{
		
		Q_OBJECT
		
	public:
		
		/**
		* Destructor
		*/
		~MainWindow();
		
		/**
		* Default Constructor
		*/
		MainWindow();
		
	private slots:
		
		/**
		* Quit
		*/
		void quit();
		
		/**
		* Pause
		*/
		void pause();
		
		/**
		* Reset
		*/
		void reset();
		
	private:
		
		/**
		* Simulation Widget
		*/
		SimulationWidget * _widgetSimulation;
		
		/**
		* Simulation Settings Widget
		*/
		SimulationSettingsWidget * _widgetSimulationSettings;
		
		/**
		* Copy Constructor
		*/
		MainWindow(const MainWindow & other);
		
		/**
		* Assignment Operator
		*/
		MainWindow & operator= (const MainWindow & rhs);
		
		
	};
	
}

#endif
